package com.ledi.guns.modular.ledipay.controller.req.clazz;

import javax.validation.constraints.NotNull;

import lombok.Data;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

/**
 * 文件名称： com.ledi.guns.modular.ledipay.controller.req.clazz.ClassAdd.java<br/>
 * 初始作者： 钟小平<br/>
 * 创建日期： 2018年8月2日<br/>
 * 功能说明： 新增班级和年级 <br/>
 * =================================================<br/>
 * 修改记录：<br/>
 * 修改作者 日期 修改内容<br/>
 * ================================================<br/>
 * Copyright (乐迪教育科技有限公司-幼儿事业部) 2017-2018.All rights reserved.<br/>
 */
@Data
public class ClassAdd {

	/**
	 * 班级名称
	 */
	@Length(groups = Add.class, max = 20, message = "班级别名不能超过20个字符 ！")
	private String name;

	/**
	 * 版本号
	 */
	@NotNull(groups = { Update.class, Delete.class }, message = "版本号不能为空！")
	private Integer versionNo;

	private Integer flag;

	/**
	 * 班级id
	 */
	@NotNull(groups = { Update.class, Delete.class }, message = "班级id不能为空！")
	private Long id;

	/**
	 * 班级序号
	 */
	@NotNull(groups = { Add.class, Update.class }, message = "班级序号不能为空！")
	@Range(min = 1, max = 100, message = "班级序号在1-100之间！")
	private Integer orderNum;

	/**
	 * 升入班级id
	 */
	@NotNull(groups = Upgrade.class, message = "升入班级id不能为空！")
	private Long classId;

	/**
	 * 升入年级id
	 */
	@NotNull(groups = Upgrade.class, message = "升入年级id不能为空！")
	private Long gradeId;

	public @interface Upgrade {
	}

	public @interface Update {
	}

	public @interface Add {
	}

	public @interface Delete {
	}
}
